package 面向对象高级.单例设计模式;

public class Singleton {
//    //1.私有化构造器
//    private Singleton(){
//
//    }
//    //2.类的内部就要提供一个当前类的实例
//
//    //4.这里实例化之后是不是要静态化处理
//    private static Singleton singleton=new Singleton();
//
//    //3.提供一个静态的方法，得到当前对象的实例
//    public static Singleton getSingleton(){
//        return singleton;
//    }

    //1.私有化构造器
    private Singleton(){
    }
    //2.类的内部就要提供一个当前类的实例

    //4.这里实例化之后是不是要静态化处理
    private static Singleton singleton=null;
    //3.提供一个静态的方法，得到当前对象的实例
    public static Singleton getSingleton(){
        if (singleton==null){
            singleton=new Singleton();
        }
        return singleton;
    }

    static class SingletonTest{
        public static void main(String[] args) {
            Singleton.getSingleton();
        }
    }
}
